The present invention relates to a method of generating (or encoding) bitstream information of digital broadcast, etc., a method of generating (or encoding) stream data sent with a packet structure, a method of recording the encoded stream data on an information medium, a method of decoding the encoded stream data, or a method of partially erasing (including temporarily erasing/actually erasing) the recorded stream data.
In recent years, TV broadcast has come into the era of digital broadcast. Accordingly, an apparatus for saving digital data of digital TV broadcast as it is irrespective of their contents, i.e., a so-called streamer, has been demanded.
The current digital TV broadcast uses an MPEG transport stream. An MPEG transport stream will be used as a standard one in the field of digital broadcast using moving picture.
As a streamer for recording digital broadcast data, a home digital VCR such as D-VHS (digital VHS) or the like is currently commercially available. A streamer using D-VHS directly records a broadcasted bitstream on a tape. For this reason, a plurality of programs are multiplexed and recorded on a video tape.
Upon playback, all data are output from the VCR to a set-top box (digital TV receiver unit; to be abbreviated as an STB hereinafter) either when they are played back from the beginning or the middle of the tape. In this STB, a desired program is selected from the output data by user operation or the like. The selected program information is transferred from the STB to a digital TV receiver, and is played back (playback of video plus audio, etc).
Since the D-VHS streamer uses a tape as a recording medium, it cannot attain quick random access, and it is difficult to quickly jump to a desired position of a required program so as to play it back.
As a promising candidate that can combat such shortcoming (difficulty of random access) of the tape, a streamer that uses a large-capacity disc medium such as a DVD-RAM or the like has been proposed. In this case, management data must be inevitably recorded together with broadcast data in consideration of random access, special playback, and the like.
In general, when a DVD-RAM disc is used as an information storage medium, ECC blocks are formed in units of 16 sectors, and data in each ECC block are interleaved (re-arranged) and appended with an error correction code. For this reason, in order to erase, rewrite or additionally write only a specific sector in an ECC block, the following complicated process are required.
Namely, a process so-called xe2x80x9cread-modify-writexe2x80x9d is required. In this process, after all contents of data in an ECC block are read (READ) and are re-arranged in a buffer memory (deinterleaved), part of data for a specific sector(s) is erased or rewritten, and new data is additionally written (MODIFY). Then, the modified data is interleaved (re-arranged) again while appending a new error correction code, and the resultant data is recorded
This is a very time-consuming process, and recording or partial erase of stream data cannot be done in real time.
The present invention has been made to solve the aforementioned problem, and has as its object to provide a method that can easily record (or encode) and partially erase (temporarily erase/actually erase) stream data within a short period of time.
In order to achieve the above object, according to the present invention, stream data uses a recording data structure made up of stream blocks (or stream object units SOBU) which can be segmented at a predetermined data size, and data are recorded (or encoded) and partially erased in units of the stream blocks (SOBUs).
More specifically, in case of partial erase (actual erase), a method of the invention handles bitstream information (DVD bitstream) formed by a stream object (SOB) which includes a first data unit (transport packet/application packet; e.g., 188 bytes), a second data unit (sector/stream pack; e.g., 2,048 bytes or 2 kbytes) having one or more first data units (packets), and a third data unit (stream block/SOBU; e.g., 64 kbytes=32 sectors=2 ECC blocks) having one or more second data units (sectors/packs).
In this method, a portion (erase area 741/742 in FIG. 15, FIG. 16, FIG. 22, or FIG. 24) of bitstream information included in the stream object (SOB) is erased in units of third data units (stream blocks/SOBUs) (step S22 in FIG. 17).
Or, in case of partial erase (actual erase), a method of the invention handles bitstream information (DVD bitstream) formed by a stream object (SOB) which includes a first data unit (transport packet/application packet), a second data unit (sector/stream pack) having one or more first data units (packets), and a third data unit (stream block/SOBU) having one or more second data units (sectors/stream packs), and streamer information (STREAM.IFO 105 in FIGS. 2 and 3; STRI in FIG. 27) that manages the stream information (DVD bitstream). In this method,
the bitstream information (DVD bitstream) includes information (ORG_PGCI/UD_PGCIT in FIG. 3 (f) or FIG. 27) of a program formed of one or more cells, and information of a program chain (PGC) indicating a sequence (playback order) of the program or a portion thereof,
the information (ORG_PGCI/UD_PGCIT in FIG. 27; PGCI#i in FIG. 28) of the program chain is included in the streamer information (STREAM.IFO/STRI),
the information (PGCI#I/SCI/SC_GI in FIG. 28) of the program chain includes start time information (751 in FIGS. 15 and 22; SC_S_APAT in FIGS. 21 and 28) of the first data unit (application packet) including contents of the cell, and end time information (757 in FIGS. 15 and 22; SC_E_APAT in FIGS. 21 and 28) of the first data unit (application packet) including the contents of the cell, and
an erase range of a portion (erase area 741/742 in FIG. 22 or FIG. 24) of bitstream information included in the stream object (SOB) is designated by the start time information (SC_S_APAT) and the end time information (SC_E_APAT) (step S21 in FIG. 17).
On the other hand, in case of partial temporary erase, a method of the invention handles bitstream information (DVD bitstream) formed by a stream object (SOB) which includes a first data unit (transport packet/application packet), a second data unit (sector/stream pack) having one or more first data units (packets), and a third data unit (stream block/SOBU) having one or more second data units (sectors/stream packet.
In this method, a portion (temporary erase area 747 in FIG. 23 or FIG. 25) of bitstream information included in the stream object (SOB) is set in a temporary erase state in units of third data units (stream blocks/SOBUs) (change xe2x80x9cpartial erasexe2x80x9d or xe2x80x9cerasexe2x80x9d to read xe2x80x9ctemporary erasexe2x80x9d in respective steps in FIG. 17).
More specifically, in case of partial temporary erase, a method of the invention handles bitstream information (DVD bitstream) formed by a stream object (SOB) which includes a first data unit (transport packet/application packet), a second data unit (sector/stream pack) having one or more first data units (packets), and a third data unit (stream block/SOBU) having one or more second data units (sectors/stream packs), and streamer information (STREAM.IFO 105 in FIGS. 2 and 3; STRI in FIG. 27) that manages the stream information (DVD bitstream). In this method,
the bitstream information (DVD bitstream) includes information (ORG_PGCI/UD_PGCIT in FIG. 3 (f) or FIG. 27) of a program formed of one or more cells, and information of a program chain (PGC) indicating a sequence (playback order) of the program or a portion thereof,
the information (ORG_PGCI/UD_PGCIT in FIG. 27; PGCI#i in FIG. 28) of the program chain is included in the streamer information (STREAM.IFO/STRI),
the information (PGCI#i/SCI/SC_GI in FIG. 28) of the program chain includes temporary erase start time information (ERA_S_APAT in FIGS. 21, 23, and 28) of the first data unit (application packet) including contents of the cell, and temporary erase end time information (ERA_S_APAT in FIGS. 21, 23, and 28) of the first data unit (application packet) including the contents of the cell, and
a temporary erase range for a portion (temporary erase area 747 in FIG. 23 or FIG. 25) of bitstream information included in the bitstream object (SOB) is designated by the temporary erase start time information (ERA_S_APAT) and the temporary erase end time information (ERA_E_APAT) (change xe2x80x9cpartial erase rangexe2x80x9d to read xe2x80x9ctemporary erase rangexe2x80x9d in step S21 in FIG. 17).
In temporary erase, management information (streamer information STREAM.IFO/STRI) is rewritten by the following method.
That is, the information (PGCI#i/SCI/SC_GI) of the program chain includes start time information (SC_S_APAT) of the first data unit (application packet) including the contents of the cell, temporary erase start time information (ERA_S_APAT) of the first data unit (application packet) including the contents of the cell, and temporary erase end time information (ERA_E APAT) of the first data unit (application packet) including the contents of the cell,
a temporary erase range for a portion (temporary erase area 747 in FIG. 23 or FIG. 25) of bitstream information included in the bitstream object (SOB) is designated by the temporary erase start time information (ERA_S_APAT) and the temporary erase end time information (ERA_E_APAT) (change xe2x80x9cpartial erase rangexe2x80x9d to read xe2x80x9ctemporary erase rangexe2x80x9d in step S21 in FIG. 17), and
when the start time information (SC_S_APAT) matches a head of the first data unit (application packet) that starts within the third data unit (stream block/SOBU), the streamer information (STREAM.IFO/STRI) is rewritten (step S27 in FIG. 17) by adjusting the temporary erase start time information (ERA_S_APAT) to the start time information (SC_S_APAT) of the first one of the first data units (application packets) which start within the third data unit (stream block/SOBU) that includes the first data unit (application packet) with the start time information (SC_S_APAT) (change xe2x80x9cpartial erasexe2x80x9d to read xe2x80x9ctemporary erasexe2x80x9d in step S26 in FIG. 17).
In case of encoding that generates bitstream information, an encoding method of the invention handles bitstream information (DVD bitstream) formed by a stream object (SOB) which includes a first data unit (transport packet/application packet), a second data unit (sector/stream pack) having one or more first data units (packets), and a third data unit (stream block/SOBU) having one or more second data units (sectors/stream packs). In this method,
a time stamp (ATS) is appended to each of one or more packet data formed of the first data units (step S01 in FIG. 13);
a sequence or arrangement of one or more packet data with time stamps is segmented in units of third data units (stream blocks/SOBUs) (step S02); and
a header (stream block header or application header in FIG. 11) including information (the number 631 of packets and the like in FIG. 11 (d)) that pertains to the packet data is inserted in the first one of the second data units (sector/pack) within the third data unit (stream block/SOBU) (step SOB).
In the recording method of the present invention, the bitstream information generated by the above encoding method is recorded on a predetermined medium (optical disc, etc.).
Alternatively, in case of encoding that generates bitstream information, an encoding method of the invention handles bitstream information (DVD bitstream) formed by a stream object (SOB) which includes a first data unit (transport packet/application packet), a second data unit (sector/stream pack) having one or more first data units (packets), and a third data unit (stream block/SOBU) having one or more second data units (sectors/stream packs). In this method, a time stamp (ATS) is appended to each of one or more packet data formed of the first data units (step S01 in FIG. 13);
a sequence or arrangement of one or more packet data with time stamps is segmented in units of third data units (stream blocks/SOBUs) (step S02); and
an end code (731 in FIG. 16 (k)) and a padding area (732 in FIG. 16 (k); stuffing packet in FIG. 26 (i)) are added as needed to a data end side in the third data unit (stream block/SOBU) (step S03).
Furthermore, contents of the data sequence segmented in units of third data units (stream blocks/SOBUs) are split at the second data units (sectors/packs) (step S04);
the first data unit (subsequent stuffing packet in FIG. 26 (i)) stuffed or filled with information (zero byte in FIG. 26 (i)) essentially having no contents is defined as the padding area (step S07), when the padding area (732 in FIG. 16 (k)) is present at the end in the third data unit (stream block/SOBU) and has a size larger than a size of the second data unit (sector/pack) (YES in step S06); and
a header (stream block header or application header in FIG. 11) including information (the number 631 of packets, etc. in FIG. 11 (d)) that pertains to the packet data is allowed to be inserted in the first second data unit (sector/pack) in the third data unit (stream block/SOBU) (step S08).
In the recording method of the present invention, the bitstream information generated by the above encoding method is recorded on a predetermined medium (optical disc, etc.).
Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out hereinafter.